home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / QDOffscreen.p < prev    next >
Encoding:
Text File  |  1998-02-12  |  7.3 KB  |  222 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QDOffscreen.p
  3.  
  4.      Contains:    Quickdraw Offscreen GWorld Interfaces.
  5.  
  6.      Version:    Technology:    Mac OS 8
  7.                  Release:    Universal Interfaces 3.1
  8.  
  9.      Copyright:    © 1985-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT QDOffscreen;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __QDOFFSCREEN__}
  28. {$SETC __QDOFFSCREEN__ := 1}
  29.  
  30. {$I+}
  31. {$SETC QDOffscreenIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __ERRORS__}
  35. {$I Errors.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __QUICKDRAW__}
  38. {$I Quickdraw.p}
  39. {$ENDC}
  40.  
  41.  
  42. {$PUSH}
  43. {$ALIGN MAC68K}
  44. {$LibExport+}
  45.  
  46. {
  47.     NOTE:     GWorldFlags is no longer defined as a SET.  Instead it is a LONGINT
  48.             and the set elements are bit masks.  You will need to use Bit-OR's 
  49.             to build a set and Bit-AND's to test sets.
  50. }
  51.  
  52. CONST
  53.     pixPurgeBit                    = 0;
  54.     noNewDeviceBit                = 1;
  55.     useTempMemBit                = 2;
  56.     keepLocalBit                = 3;
  57.     pixelsPurgeableBit            = 6;
  58.     pixelsLockedBit                = 7;
  59.     mapPixBit                    = 16;
  60.     newDepthBit                    = 17;
  61.     alignPixBit                    = 18;
  62.     newRowBytesBit                = 19;
  63.     reallocPixBit                = 20;
  64.     clipPixBit                    = 28;
  65.     stretchPixBit                = 29;
  66.     ditherPixBit                = 30;
  67.     gwFlagErrBit                = 31;
  68.  
  69.     pixPurge                    = $00000001;
  70.     noNewDevice                    = $00000002;
  71.     useTempMem                    = $00000004;
  72.     keepLocal                    = $00000008;
  73.     pixelsPurgeable                = $00000040;
  74.     pixelsLocked                = $00000080;
  75.     kAllocDirectDrawSurface        = $00004000;
  76.     mapPix                        = $00010000;
  77.     newDepth                    = $00020000;
  78.     alignPix                    = $00040000;
  79.     newRowBytes                    = $00080000;
  80.     reallocPix                    = $00100000;
  81.     clipPix                        = $10000000;
  82.     stretchPix                    = $20000000;
  83.     ditherPix                    = $40000000;
  84.     gwFlagErr                    = $80000000;
  85.  
  86.  
  87. TYPE
  88.     GWorldFlags                            = UInt32;
  89. { Type definition of a GWorldPtr }
  90.     GWorldPtr                            = CGrafPtr;
  91. FUNCTION NewGWorld(VAR offscreenGWorld: GWorldPtr; PixelDepth: INTEGER; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags): QDErr;
  92.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  93.     INLINE $203C, $0016, $0000, $AB1D;
  94.     {$ENDC}
  95. {$IFC NOT TARGET_OS_MAC }
  96. { Quicktime 3.0 }
  97. {$IFC TARGET_OS_WIN32 }
  98. {  gdevice attribute bits }
  99.  
  100. CONST
  101.     deviceIsIndirect            = $00000001;
  102.     deviceNeedsLock                = $00000002;
  103.     deviceIsStatic                = $00000004;
  104.     deviceIsExternalBuffer        = $00000008;
  105.     deviceIsDDSurface            = $00000010;
  106.     deviceIsDCISurface            = $00000020;
  107.     deviceIsGDISurface            = $00000040;
  108.     deviceIsAScreen                = $00000080;
  109.     deviceIsOverlaySurface        = $00000100;
  110.  
  111. FUNCTION GetGDeviceSurface(gdh: GDHandle): Ptr;
  112. FUNCTION GetGDeviceAttributes(gdh: GDHandle): UInt32;
  113. { to allocate non-mac-rgb GWorlds use QTNewGWorld (ImageCompression.h) }
  114. FUNCTION NewGWorldFromHBITMAP(VAR offscreenGWorld: GWorldPtr; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags; newHBITMAP: UNIV Ptr; newHDC: UNIV Ptr): QDErr;
  115. {$ENDC}
  116. FUNCTION NewGWorldFromPtr(VAR offscreenGWorld: GWorldPtr; PixelFormat: UInt32; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags; newBuffer: Ptr; rowBytes: LONGINT): QDErr;
  117. {$ENDC}
  118.  
  119. FUNCTION LockPixels(pm: PixMapHandle): BOOLEAN;
  120.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  121.     INLINE $203C, $0004, $0001, $AB1D;
  122.     {$ENDC}
  123. PROCEDURE UnlockPixels(pm: PixMapHandle);
  124.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  125.     INLINE $203C, $0004, $0002, $AB1D;
  126.     {$ENDC}
  127. FUNCTION UpdateGWorld(VAR offscreenGWorld: GWorldPtr; pixelDepth: INTEGER; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags): GWorldFlags;
  128.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  129.     INLINE $203C, $0016, $0003, $AB1D;
  130.     {$ENDC}
  131. PROCEDURE DisposeGWorld(offscreenGWorld: GWorldPtr);
  132.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  133.     INLINE $203C, $0004, $0004, $AB1D;
  134.     {$ENDC}
  135. PROCEDURE GetGWorld(VAR port: CGrafPtr; VAR gdh: GDHandle);
  136.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  137.     INLINE $203C, $0008, $0005, $AB1D;
  138.     {$ENDC}
  139. PROCEDURE SetGWorld(port: CGrafPtr; gdh: GDHandle);
  140.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  141.     INLINE $203C, $0008, $0006, $AB1D;
  142.     {$ENDC}
  143. PROCEDURE CTabChanged(ctab: CTabHandle);
  144.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  145.     INLINE $203C, $0004, $0007, $AB1D;
  146.     {$ENDC}
  147. PROCEDURE PixPatChanged(ppat: PixPatHandle);
  148.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  149.     INLINE $203C, $0004, $0008, $AB1D;
  150.     {$ENDC}
  151. PROCEDURE PortChanged(port: GrafPtr);
  152.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  153.     INLINE $203C, $0004, $0009, $AB1D;
  154.     {$ENDC}
  155. PROCEDURE GDeviceChanged(gdh: GDHandle);
  156.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  157.     INLINE $203C, $0004, $000A, $AB1D;
  158.     {$ENDC}
  159. PROCEDURE AllowPurgePixels(pm: PixMapHandle);
  160.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  161.     INLINE $203C, $0004, $000B, $AB1D;
  162.     {$ENDC}
  163. PROCEDURE NoPurgePixels(pm: PixMapHandle);
  164.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  165.     INLINE $203C, $0004, $000C, $AB1D;
  166.     {$ENDC}
  167. FUNCTION GetPixelsState(pm: PixMapHandle): GWorldFlags;
  168.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  169.     INLINE $203C, $0004, $000D, $AB1D;
  170.     {$ENDC}
  171. PROCEDURE SetPixelsState(pm: PixMapHandle; state: GWorldFlags);
  172.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  173.     INLINE $203C, $0008, $000E, $AB1D;
  174.     {$ENDC}
  175. FUNCTION GetPixBaseAddr(pm: PixMapHandle): Ptr;
  176.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  177.     INLINE $203C, $0004, $000F, $AB1D;
  178.     {$ENDC}
  179. FUNCTION NewScreenBuffer({CONST}VAR globalRect: Rect; purgeable: BOOLEAN; VAR gdh: GDHandle; VAR offscreenPixMap: PixMapHandle): QDErr;
  180.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  181.     INLINE $203C, $000E, $0010, $AB1D;
  182.     {$ENDC}
  183. PROCEDURE DisposeScreenBuffer(offscreenPixMap: PixMapHandle);
  184.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  185.     INLINE $203C, $0004, $0011, $AB1D;
  186.     {$ENDC}
  187. FUNCTION GetGWorldDevice(offscreenGWorld: GWorldPtr): GDHandle;
  188.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  189.     INLINE $203C, $0004, $0012, $AB1D;
  190.     {$ENDC}
  191. FUNCTION QDDone(port: GrafPtr): BOOLEAN;
  192.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  193.     INLINE $203C, $0004, $0013, $AB1D;
  194.     {$ENDC}
  195. FUNCTION OffscreenVersion: LONGINT;
  196.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  197.     INLINE $7014, $AB1D;
  198.     {$ENDC}
  199. FUNCTION NewTempScreenBuffer({CONST}VAR globalRect: Rect; purgeable: BOOLEAN; VAR gdh: GDHandle; VAR offscreenPixMap: PixMapHandle): QDErr;
  200.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  201.     INLINE $203C, $000E, $0015, $AB1D;
  202.     {$ENDC}
  203. FUNCTION PixMap32Bit(pmHandle: PixMapHandle): BOOLEAN;
  204.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  205.     INLINE $203C, $0004, $0016, $AB1D;
  206.     {$ENDC}
  207. FUNCTION GetGWorldPixMap(offscreenGWorld: GWorldPtr): PixMapHandle;
  208.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  209.     INLINE $203C, $0004, $0017, $AB1D;
  210.     {$ENDC}
  211.  
  212. {$ALIGN RESET}
  213. {$POP}
  214.  
  215. {$SETC UsingIncludes := QDOffscreenIncludes}
  216.  
  217. {$ENDC} {__QDOFFSCREEN__}
  218.  
  219. {$IFC NOT UsingIncludes}
  220.  END.
  221. {$ENDC}
  222.